home *** CD-ROM | disk | FTP | other *** search
/ The Fatted Calf / The Fatted Calf.iso / Applications / Editors / Emacs / Source / EtermView.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-11-30  |  2.3 KB  |  90 lines

  1. /* The EtermView interface.
  2.  
  3.    For legal stuff see the file COPYRIGHT.  */
  4.  
  5. #import <stdio.h>
  6. #import <appkit/appkit.h>
  7.  
  8. #define BORDER_WIDTH 2
  9.  
  10. @interface EtermView : View
  11. {
  12.   float spacing;        /* Font spacing.  */
  13.   Font *displayFont;        /* Font to display with.  */
  14.   BOOL emacsOn;            /* YES if emacs has been started */
  15.   int fontHeight, fontWidth, fontDescender; /* Font characteristics */
  16.   int lines, cols;        /* Size of view in characters */
  17.   int masterChannel;        /* FD of /dev/pty device */
  18.   int eventServerSocket;    /* FD listening for event connection */
  19.   FILE *eventChannel;        /* file ptr of event socket */
  20.   /* Our openPanel.  */
  21.   OpenPanel *openPanel;
  22.   /* Our savePanel.  */
  23.   SavePanel *savePanel;
  24.   /* First part of window title.  */
  25.   char *titleprefix;
  26.   Pasteboard *currentPasteboard;
  27.   Pasteboard *mainPasteboard;
  28. }
  29.  
  30. +initialize;
  31. -initFrame: (const NXRect *) newFrame;
  32. -(float) spacing;
  33. -setSpacing: (float) newSpacing;
  34. -font;
  35. -setFont: newFont;
  36. -changeFont: sender;
  37.  
  38. -(FILE *) eventChannel;
  39. -setEventChannel: (FILE *) fp;
  40. -windowWillResize: sender toSize: (NXSize *) frameSize;
  41. -windowDidResize: sender;
  42. -startEmacs: (char **) files : (int) nfiles;
  43. -quitEmacs;
  44. -(BOOL) emacsOn;
  45. -(BOOL) newFile: (const char *) path;
  46. -(BOOL) acceptsFirstResponder;
  47. -keyDown: (NXEvent *) theEvent;
  48. -mouseDown: (NXEvent *) theEvent;
  49. -mouseUp: (NXEvent *) theEvent;
  50. -rightMouseDown: (NXEvent *) theEvent;
  51. -rightMouseUp: (NXEvent *) theEvent;
  52.  
  53. /* Return the current pasteboard.  */
  54. -pasteboard;
  55. -appPasteboard;
  56. -setPasteboard: pboard;
  57. -(BOOL) sendEmacsEvent: (char *) theEvent;
  58.  
  59. /* Action methods.  */
  60. -undo: sender;
  61. -save: sender;
  62. -saveAll: sender;
  63. -cut: sender;
  64. -copy: sender;
  65. -paste: sender;
  66. -open: sender;
  67. -saveAs: sender;
  68.  
  69. /* Low level cut, copy and paste.  Return YES on success and NO on failure.  */
  70. -(BOOL) cutTo: pasteboard;
  71. -(BOOL) copyTo: pasteboard;
  72. -(BOOL) pasteFrom: pasteboard;
  73.  
  74. -getDimensions: (int *) linesPtr : (int *) colsPtr;
  75. -(Font *) getDisplayFont:
  76.   (int *) heightPtr :
  77.   (int *) widthPtr :
  78.   (int *) descenderPtr;
  79.  
  80. -showTitle: (int) lines : (int) columns;
  81. -setTitle: (char *) title;
  82.  
  83. /* Functions for handeling services.  */
  84. -validRequestorForSendType: (NXAtom) typeSent
  85.  andReturnType: (NXAtom) typeReturned;
  86. -(BOOL) writeSelectionToPasteboard: pboard types: (NXAtom *) types;
  87. -readSelectionFromPasteboard: pboard;
  88.  
  89. @end
  90.